package cn.edu.zut.score.service;

import cn.edu.zut.score.core.domain.PageResponse;
import cn.edu.zut.score.core.domain.RestResponse;
import cn.edu.zut.score.core.dto.request.MessagePageRequest;
import cn.edu.zut.score.core.dto.response.MessageResponse;
import cn.edu.zut.score.core.entity.Message;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author zby
 * @since 2021-06-25
 */
public interface IMessageService extends IService<Message> {

    Map<Long, Long> addMessage(String title, String content, Integer type, List<Long> receiveIds);

    RestResponse<PageResponse<MessageResponse>> getMessages(MessagePageRequest messagePageRequest);

    RestResponse<String> pushMarkMessage(Long replyId, Long studentId);

    RestResponse<String> setRead(Long messageId);

    Integer getrUnReadNumById(Long userId);
}
